home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 July / Macworld (1999-07).dmg / Shareware World / Info / For Developers / Mops 3.4.sea / Quick Edit ƒ / Subject Glossary / Memory < prev    next >
Text File  |  1992-11-22  |  4KB  |  84 lines

  1. VALUE    n --  :  name
  2.     General purpose data variable defining word.  Can use prefix operators to 
  3.     manipulate ( ->, ++>, etc.).  Can also late bind to objects stored in values.  
  4.  
  5. VARIABLE    --  :  name
  6.     standard Forth defining word.  Use @ and ! for accessing.  Will leave the addr 
  7.     at runtime.  
  8.  
  9. CONSTANT    n --  :  name
  10.     standard.  Creates a dictionary entry whose runtime action is to place n on 
  11.     the stack.  
  12.  
  13.  
  14. !    n addr --    Stores 32-bit n at address.
  15. @    addr -- n    fetches 32-bit value at address
  16. +!    n addr --    Adds n to the longword at address.
  17. -!    n addr --    Subtracts n from the longword at address.
  18.  
  19. W!    w addr --    Strores given 16-bit number into word at given address.
  20. W+!    w addr --    Adds given 16-bit number to word at given address.
  21. W-!    w addr --    Subtracts given 16-bit number from word at given address.
  22. W@    addr -- w    Fetches 16-bit value from given address.  Does not sign extend to 32-bits.
  23. W@X    addr -- w    Fetches 16-bit value from given address.  Sign extends to 32-bits.
  24.  
  25. C!    c addr --    Stores given 8-bit number to byte at given address.
  26. C@    addr -- c    Fetches 8-bit value from given address.  Does not sign extend to 32-bits.
  27. C@X    addr -- c    Fetches 8-bit value from given address.  Sign extends to 32-bits.
  28.  
  29. CMOVE    src dest cnt --
  30.     Copies cnt bytes from src address to dest address.  Cnt must be between 0 and 
  31.     64K.  Use move for a more general cnt.  
  32. MOVE    src dest cnt --
  33.     As for CMOVE, but n may be anything.  Implemented by calling the system 
  34.     BlockMove trap.  This gives optimized handling of longer moves (n > 20 say).  
  35.     Also accounts for situations where the source and destination areas overlap.  
  36.     If you want byte propagation effects, use CMOVE instead.  But what would you 
  37.     want this for, anyway, since we have FILL? 
  38. ERASE    addr n --    Clears (fills with zeros) memory starting at addr for n bytes.
  39. FILL    addr n c --    Beginning at address, fills n bytes with given 8-bit value c.
  40.  
  41. BRESET    addr bit# --    Clears the bit.  bit# can be >8.
  42. BSET    addr bit# --    Sets the bit.  bit# can be >8.
  43. BTEST    addr bit# -- b    Tests the bit and returns true if the bit is set, false otherwise.
  44. BTOGGLE    addr bit# --    Inverts the bit.  bit# can be >8.
  45.  
  46. CRESET    c addr --    Clears bits in byte at addr, corresponding to the bits SET in c.
  47. CSET    c addr --    ORs c into the byte at addr.
  48. CTOGGLE    c addr --    Exclusive-ORs c into the byte at addr.
  49.  
  50. .W    --  : word
  51.     Performs a memory DUMP for 200 bytes starting at the nfa+1 of the following 
  52.     word in the input stream.  
  53. DUMP    addr len --
  54.     Displays the contents of memory beginning at addr for len bytes in a hex and 
  55.     ascii format.  Note that the \/ mark points to the requested address (the dump 
  56.     may start at an address other than addr.  
  57.  
  58.  
  59. LOCAL    --  : name { parm1 parm2 \ loc1 loc2 }
  60.     Begins definition of a local section.  Within a local section, all words have 
  61.     access to the parms/locals.  
  62. MLOCAL    --  : name { parm1 parm2 \ loc1 loc2 }
  63.     Starts a local section for methods.  See local.
  64. :LOC    --  : name
  65.     Commences the definition of the "main" word of a local section.  The { ...  } 
  66.     syntax is not used here, as it has already been done at LOCAL.  
  67. :MLOC    --  : name
  68.     Commences the definition of the "main" method of a local section within a class 
  69.     definition.  
  70. ;LOC    --    Ends the definition of the "main" word, and ends the local section.
  71. ;MLOC    --    Ends the definition of the "main" method, and ends the local section.
  72.  
  73.  
  74. ALIGN    addr -- even-addr
  75.     Increments addr by one if it is odd, leaving the next address.  You can use 
  76.     align to make sure the 68000 will not try to access memory beginning at an odd 
  77.     address, which can cause a fatal error.  
  78. NILH    -- $FFA00101    A constant.  The value we use for a nil handle.
  79. NILP    -- $FFA00103    A constant.  The value we use for a nil pointer.
  80.  
  81. SAmask    -- n
  82.     A value.  If you need to call _StripAddress, don't bother, we've done it for 
  83.     you.  Just use SAmask as a mask on the address as in SAmask and.  
  84.